﻿<html>
<head>
<title>Help index</title>
<link href="../style.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="top">
<img  src="../../t.jpg" />
<a href="../../index.html">Home</a> - <a href="../../languages.html">Languages</a> - <a href="../../editor">Editor</a> - <a href="../../3dparty">3dParty</a>
</div>


<div id="content">
<p>Team 16 IDE v3. help</p>
<p>
strcmp<br />
Сравнивает строки.<br />
<br />
Синтаксис :<br />
int strcmp(string str1, string str2)<br />
<br />
Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает:<br />
0 - если строки полностью совпадают;<br />
-1 - если строка str1 лексикографически меньше str2;<br />
1 - если, наоборот, str1 "больше" str2.<br />
Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений.<br />
<br />
</p><p>
<br />
strncmp<br />
Сравнивает начала строк.<br />
<br />
Синтаксис :<br />
int strncmp(string str1, string str2, int len)<br />
<br />
Эта функция отличается от strcmp() тем, что сравнивает не все слово целиком, а первые len байтов. В случае, если len меньше длины наименьшей из строк, то строки сравниваются целиком.<br />
Эта функция сравнивает две строки посимвольно (точнее, бобайтово) и возвращает:<br />
0 - если строки полностью совпадают;<br />
-1 - если строка str1 лексикографически меньше str2;<br />
1 - если, наоборот, str1 "больше" str2.<br />
Так как сравнение идет побайтово, то регистр символов влияет на результаты сравнений.<br />
<br />
</p><p>
<br />
strcasecmp<br />
Сравнивает строки без учета регистра.<br />
<br />
Синтаксис :<br />
int strcasecmp(string str1, string str2)<br />
<br />
То же самое, что и strcmp(), только при работе не учитывается регистр букв. <br />
$str1 = "Привет!";<br />
$str2 = "привет!";<br />
if(!strcesecmp($str1, $str2))<br />
  echo "$str1 == $str2 при сравнении строк без учета регистра";<br />
<br />
<br />
</p><p>
<br />
strncasecmp<br />
Сравнивает начала строк без учета регистра.<br />
<br />
Синтаксис :<br />
int strncasecmp(string str1, string str2, int len)<br />
<br />
Функция strncasecmp() является комбинацией функций strcasecmp() и strncmp().<br />
<br />
</p><p>
<br />
strnatcmp<br />
Производит "естественное" сравнение строк.<br />
<br />
Синтаксис :<br />
int strnatcmp(string str1, string str2)<br />
<br />
Данная функция имитирует сравнение строк, которое использовал бы человек. <br />
$arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png");<br />
echo "Обычная сортировка\n";<br />
usort($arr1, "strcmp");<br />
print_r($arr1);<br />
echo "\nЕстенственная сортировка\n";<br />
usort($arr2, "strnatcmp");<br />
print_r($arr2);<br />
<br />
Данный скприпт выведет следующее: <br />
Обычная сортировка<br />
Array<br />
(<br />
    [0] => img1.png<br />
    [1] => img10.png<br />
    [2] => img12.png<br />
    [3] => img2.png<br />
)<br />
<br />
Естественная сортировка<br />
Array<br />
(<br />
    [0] => img1.png<br />
    [1] => img2.png<br />
    [2] => img10.png<br />
    [3] => img12.png<br />
)<br />
<br />
<br />
</p><p>
<br />
strnatcasecmp<br />
Производит "естественное" сравнение строк без учета регистра.<br />
<br />
Синтаксис :<br />
int strnatcasecmp(string str1, string str2)<br />
<br />
То же, что и strnatcmp(), только игнорирует регистр.<br />
<br />
</p><p>
<br />
similar_text<br />
Производит определение схожести двух строк.<br />
<br />
Синтаксис :<br />
int similar_text(string firsrt, string second [, double percent])<br />
<br />
Функция similar_text() вычисляет схожесть двух строк по алгоритму, описанному Оливером (Oliver [1993]). Но вместо стека (как в псевдокоде Оливера) она использует рекурсивные вызовы.<br />
Сложность алгоритма делает функцию медленной, и ее скорость пропорциональна (N^3), где N - длина наибольшей строки.<br />
Функция возвращает число символов, совпавших в обеих строках. При передаче по ссылке третьего необязательного параметра в нем сохраняется процент совпадения строк.<br />
<br />
</p><p>
<br />
levenshtein<br />
Определение различия Левенштейна двух строк.<br />
<br />
Синтаксис :<br />
int levenshtein(string str1, string str2)<br />
int levenshtein(string str1, string str2, int cost_ins, int cost_rep, int cost_del)<br />
int levenshtein(string str1, string str2, function cost)<br />
<br />
"Различие Левенштейна" - это минимальное чило символов, которое требовалось бы заменить, вставить или удалить для того, чтобы превратить строку str1 в str2. Сложность алгоритма пропорциональна произведению длин строк str1 и str2, что делает функцию более быстродействующей, чем similar_text().<br />
<br />
Первая форма функции возвращает число необходимых операций над символами строк для трансформации str1 в str2.<br />
<br />
Вторая форама имеет три дополнительных параметра: стоимость операции вставки, замены и удаления, что делает ее более адаптированной для вычисления, но при этом менее быстродействующей. Возвращается интегральный показатель сложности трансформации.<br />
<br />
Третий вариант позволяет указать функцию, используемую для расчета сложности трансформации. Функция cost вызывается со следующими аргументами: <br />
применяемая операция (вставить, изменить, удалить): "I*quot;, "R", "D"; <br />
фактический символ первой строки <br />
фактический символ второй строки <br />
позиция строки 1 <br />
позиция строки 2 <br />
оставшаяся длина строки 1 <br />
оставшаяся длина строки 2<br />
<br />
Вызываемая функция должна будет возвратить стоимость этой операции.<br />
Если длина одной из строк более 255 символов, функция levenshtein() возвращает -1, но такая длина более чем достаточна.<br />

</p>
</div>

<div id="bottom" align="right">
Copyright &copy; 2009 Team16, Distributed under modified GNU\FDL
</div>

</body>
</html>